.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_dev_self_test \- Start or abort a self test
.SH SYNOPSIS
.B "int" nvme_dev_self_test
.BI "(struct nvme_dev_self_test_args *args "  ");"
.SH ARGUMENTS
.IP "args" 12
\fIstruct nvme_dev_self_test\fP argument structure
.SH "DESCRIPTION"
The Device Self-test command starts a device self-test operation or abort a
device self-test operation. A device self-test operation is a diagnostic
testing sequence that tests the integrity and functionality of the
controller and may include testing of the media associated with namespaces.
The controller may return a response to this command immediately while
running the self-test in the background.

Set the 'nsid' field to 0 to not include namespaces in the test. Set to
0xffffffff to test all namespaces. All other values tests a specific
namespace, if present.
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
